package com.joysuch.wwyt.bp.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.joysuch.wwyt.bp.entity.dto.BpStorageTankDto;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author jingwk
 * @since 2021-05-28
 */
public interface BpStorageTankMapper extends BaseMapper<BpStorageTankDto> {

    /**
     * 批量画围栏的查询接口,储罐的老数据在没有位置信息时location字段为0 0 ,此时数据不算
     * 为设置位置的数据。在以是否设置位置状态查询时需要将对老数据做特殊处理。
     * 未设置: location为null 或者 location不是以正确位置信息(JSON)开头的
     * 已设置: location不为null 并且需要是正确的位置信息格式
     * @param page
     * @param tankAreaIds  储罐区id集合
     * @param name   名称支持模糊搜索
     * @param status 状态
     * @param tenentId
     * @param orgCode
     * @return
     */
    IPage<BpStorageTankDto>  selectPageForDraw(Page<BpStorageTankDto> page , List<Long> tankAreaIds , String name , Integer status , Long tenentId , String orgCode );

    Integer selectCountForDraw(List<Long> tankAreaIds, Integer flag, Long tenentId, String orgCode);

    List<BpStorageTankDto> findAllHaveLocationForTank(List<Long> tankAreaIds, Long tenentId, String orgCode);

    List<Long> findByTypeFlag(@Param("typeFlag")Integer typeFlag);
}
